<?php
/**
 * Classe que faz as consultas SQL para a Categoria
 * 
 * @author Rafael Mitsuo Moriya <rafaumsurfista@gmail.com>
 * @version 1.0 2009-02-11 00:00:00
 * @package RH
 * @subpackage classes_banco
 * @access public
 * @see Listagem
 */
class usuario extends Zend_Db_Table_Abstract 
{
	protected $_table = "usuario";
	protected $_primary = "idusuario";
	
	/*
	 * Default
	 */
	
	public function login($email,$senha)
	{

		$senha = md5($senha);
		$array = $this->fetchAll("usuario.email like '{$email}' AND usuario.senha = '{$senha}'");
		return $array;
	}
	
	public function cadastrar($arraypost)
	{
		if($this->verificaCPF($arraypost['cpf'])==false){
			if(valida::email($arraypost['e'])==true && $this->verificaEmail($arraypost['email'])==false){
				$arraypost['senha'] = md5($arraypost['senhacadastro']);
				$arraypost['datadecadastro'] = date("Y-m-d H:i:s");
				unset($arraypost['senhacadastro']);
				unset($arraypost['confirmasenhacadastro']);
				
				if($this->insert($arraypost)){
					return "sucesso";
				}else{
					return "erro_cadastro";
				}
			}else{
				return "email_ja_cadastrado";
			}
		}else{
			return "cpf_ja_cadastrado";
		}
	}
	
	public function verificaCPF($cpf)
	{
		$array = $this->fetchAll("cpf like '{$cpf}'");
		if(sizeof($array)>0)
		{
			return true;
		}else{
			return false;
		}
	}
	
	public function pegaporCPF($cpf)
	{
		$array = $this->fetchAll("cpf like '{$cpf}'");
		return $array[0];
	}
	
	public function pegaporemail($email)
	{
		$email = string::limpastringdehtml($email);
		$array = $this->fetchAll("email like '{$email}'");
		return $array;
	}

	public function verificaEmail($email)
	{
		$array = $this->fetchAll("email like '{$email}'");
		
		if(sizeof($array)>0)
		{
			return true;
		}else{
			return false;
		}
	}
	/*
	 * Fim Default
	 */
	
	/*
	 * Usuario
	 */
	public function pegausuario()
	{
		$sessao = new Zend_Session_Namespace('intranet');
		$array = $this->fetchAll("idusuario = '{$sessao->idusuario}'");
		
		return $array[0];
	}
	
	public function updateusuario($array)
	{
		$sessao = new Zend_Session_Namespace('intranet');
		
		if($sessao->idusuario!="")
		{
			$this->update($array,"idusuario='{$sessao->idusuario}'");
			return "sucesso";	
		}else{
			return "nao_logado";
		}
	}
	
	public function alterarsenha($senha)
	{
		$sessao = new Zend_Session_Namespace('intranet');
		
		if($sessao->idusuario!="")
		{
			$array['senha'] = md5($senha);
			$this->update($array,"idusuario='{$sessao->idusuario}'");
			return "sucesso";	
		}else{
			return "nao_logado";
		}
	}
	
	public function pegausuarioporid($idusuario)
	{
		$sql = $this->_db->select()->from("usuario")
		->joinLeft("local","usuario.idlocal=local.idlocal")
		->joinLeft("setor","usuario.idsetor=setor.idsetor")
		->joinLeft("estabelecimento","usuario.idestabelecimento=estabelecimento.idestabelecimento")
		->joinLeft("estado","usuario.idestado=estado.idestado")
		->joinLeft("municipio","usuario.idmunicipio=municipio.idmunicipio")
		->where("idusuario='{$idusuario}'")->__toString();

		$array = $this->_db->fetchAll($sql);
		return $array[0];
	}
	/*
	 * Fim Usuario
	 */
	
}
?>